package com.ldzy.webase.service;

import com.ldzy.webase.entity.Notice;
import java.util.List;

public interface NoticeService {
    // 根据学生uid查询用户需要接收的所有通知-有联合索引[noticeRelationId和uid组成联合索引]
    // 1. not in查询，根据学生id查询t_notice_relation表里是否有包含对应noticeId的通知，包含且已经删除则不予发送
    // 2. 如果用户注册时间大于通知时间则不予发送
    // 3. 如果t_notice_relation表里的通知记录已被删除则不予发送
    List<Notice> getAllNoticeByUid(Integer uid);

    // 当用户点击阅读消息之后，直接根据用户接收的通知noticeId和学生uid添加对应消息记录到t_notice_relation表中，默认设置为已阅读状态[1]
    int addNoticeRelation(Integer noticeId,Integer uid);

    // 当用户点击删除/清空消息时，根据noticeId和uid将isDelete字段修改为1
    int editNoticeRelation(Integer noticeId,Integer uid);
}
